La fonction `strtotime` en PHP est une fonction puissante qui permet de convertir une chaîne de texte représentant une date ou une heure en un timestamp Unix. Un timestamp Unix est un nombre entier représentant le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit UTC, également connu sous le nom de l’époque Unix.
```
strtotime(string $datetime, int $now = time()): int|false
```
- $datetime : C’est une chaîne de texte représentant la date/heure que vous souhaitez convertir. Cette chaîne peut inclure des dates dans divers formats reconnaissables par la fonction, ainsi que des expressions relatives comme “next Monday” ou “last year”.
- $now : C’est un timestamp Unix facultatif qui permet de définir une base de référence pour les expressions relatives dans $datetime. Par défaut, il est défini sur la valeur retournée par `time()`, soit l’heure actuelle au moment de l’exécution du script.
1. Date de Base \`\`\`php $date = ’2023-10-01’; $timestamp = strtotime($date); echo $timestamp; // 1696118400 \`\`\`
1. Heure Précise \`\`\`php $time = ‘14:30:00’; $timestamp = strtotime($time); echo $timestamp; // dépend de la date actuelle du système \`\`\`
1. Expressions Relatives \`\`\`php $relativeDate = ‘next Monday’; $timestamp = strtotime($relativeDate); echo $timestamp; // évalue à minuit du prochain lundi par rapport à la date actuelle \`\`\`
1. Combinaison de Date et Heure \`\`\`php $datetime = ’2023-10-01 14:30:00’; $timestamp = strtotime($datetime); echo $timestamp; // 1696165800 \`\`\`
1. Expressions Relatives par Rapport à une Date de Référence \`\`\`php $reference = strtotime(‘2023-01-01’); $relative = ‘next month’; $timestamp = strtotime($relative, $reference); echo $timestamp; // 1675123200 (correspondant au 1er février 2023) \`\`\`
En conclusion, `strtotime` est une fonction extrêmement utile pour manipuler et convertir des chaînes de texte en timestamps Unix dans PHP, facilitant ainsi la gestion des dates et heures dans vos applications. Assurez-vous simplement que les chaînes sont dans un format reconnu et ajustez la gestion des fuseaux horaires si nécessaire.